/**
 * 发送get异步请求
 * @param {string} url 地址
 * @param {string} params  参数
 * @param {function} callback  回调函数，用来其它地方调用，有一个形参res是接口数据
 */
function get(url,params,callback){
// 一，创建xhr对象
const xhr = new XMLHttpRequest
// 二、监控请求状态
xhr.onreadystatechange = () => {
    // 判断是否返回数据
    if(xhr.readyState === 4){
        // 判断是否返回的状态
        if(xhr.status === 200){
            // 获取数据
            let res = JSON.parse(xhr.responseText)
            // 调用callback（不同逻辑处理，里面N行代码。在其他地方调用这函数里面的代码，代码会在这函数里执行）
            callback(res)
        }else{
            console.log(xhr.status)
        }
    }
}
// 三、设置请求方式和地址
xhr.open('get', `${url}?${params}`)
// 四、发送请求
xhr.send(null)

}

/**
 * 发送post异步请求
 * @param {string} url 
 * @param {string} params 
 * @param {function} callback 
 */
function post(url,params,callback) {
    // 1.
    const xhr = new XMLHttpRequest
// 二、监控请求状态
xhr.onreadystatechange = () => {
    // 判断是否返回数据
    if(xhr.readyState === 4){
        // 判断是否返回的状态
        if(xhr.status === 200){
            // 获取数据
            let res = JSON.parse(xhr.responseText)
            // 调用callback（不同逻辑处理，里面N行代码。在其他地方调用这函数里面的代码，代码会在这函数里执行）
            callback(res)
        }else{
            console.log(xhr.status)
        }
    }
}
// 三、设置请求方式和地址
xhr.open('post', url)
xhr.setRequestHeader('content-type','application/x-wwww-form-urlencoded')
// 四、发送请求
xhr.send(params)
}